﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SeguradoraIA.Class;
using SeguradoraIA.Diagrama;
using SeguradoraIA.Framework.Log;
using SeguradoraIA.Framework;


namespace SeguradoraIA.Forms
{
    public partial class ConsultarPerfil : PageBase
    {
        #region - Atributos -

        SeguradoraIAEntities ctx = new SeguradoraIAEntities();

        #endregion

        #region - Eventos -

        #region - Page_Load -
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    this.ConfiguraTela();
                }
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
                Response.Redirect("~/Forms/PaginaErro.aspx");
            }
        }

        #endregion

        #region - Consultar -
        public override void Consultar()
        {
            try
            {
                
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
                Response.Redirect("~/Forms/PaginaErro.aspx");
            }
        }
        #endregion

        #region - Incluir -
        public override void Incluir()
        {
            try
            {
                Response.Redirect("Cotacao.aspx?IdPerfil=0", false);
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
                Response.Redirect("~/Forms/PaginaErro.aspx");
            }
        }
        #endregion

        #region - gvPerfil_RowCommand -
        protected void gvPerfil_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                Int32 index = Int32.Parse(e.CommandArgument.ToString());
                string idPerfil = gvPerfil.DataKeys[index]["IdPerfil"].ToString();

                if (e.CommandName == "Editar")
                {
                    Response.Redirect(String.Format("Cotacao.aspx?IdPerfil={0}", idPerfil), false);
                }
                else if (e.CommandName == "Excluir")
                {
                    int numIdPerfil = idPerfil.ToInt();
                    ctx.DeleteObject(ctx.Perfil.Where(x => x.IdPerfil == numIdPerfil).FirstOrDefault());
                    ctx.SaveChanges();
                    ShowAlert("Registro excluido com sucesso", "ConsultarPerfil.aspx");
                }
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
                Response.Redirect("~/Forms/Erro/PaginaErro.aspx");
            }
        }        
        #endregion

        #endregion

        #region - Metodos -

        #region - ConfiguraTela -
        private void ConfiguraTela()
        {
            this.ucBotoesPadrao.ExibeBotaoIncluir = true;
            this.ucBotoesPadrao.ExibirBotoes();

            this.CarregarPerfis();
        }
        #endregion

        #region - CarregarPerfis -
        private void CarregarPerfis()
        {
            gvPerfil.DataSource = ctx.Perfil.ToList();
            gvPerfil.DataBind();
        }
        #endregion

        #endregion
    }
}